Information technology (“IT”) managers face a number of challenges as they are increasingly pushed to improve service delivery while lowering operational costs. These challenges include decreasing “server sprawl”, improving system utilization, reducing system management complexity, and improving the flexibility of IT resources. To address these challenges, many IT organizations are implementing some form of server consolidation. This server consolidation can be “physical” as in the centralization of physical assets from geographically dispersed departments or data centers. The server consolidation can also be “logical” as in migrating multiple applications from dedicated servers onto a single symmetric multiprocessing (“SMP”) server or onto a server cluster. Several approaches to providing the necessary software infrastructure for managing and executing the migrated applications on either an SMP server or a server cluster have emerged.
One widely-used approach to providing the software infrastructure needed to support the consolidation of multiple applications onto an SMP server is to apply virtual machine technology to create a virtualization infrastructure supporting the execution of multiple operating systems and their attendant applications. For consolidating multiple applications onto a server cluster, one approach to providing the required software infrastructure is to implement a single server image (“SSI”) representation of the cluster.
While both of these approaches to providing a software infrastructure for server consolidation permit increased system flexibility and resource utilization, each also has its limitations. The virtualization infrastructure is typically limited to a single SMP server. Similarly, the operating systems and applications executing in the individual virtual machines will only share the resources available to the single SMP server. The single server image infrastructure, while permitting applications to share resources across the server cluster, is typically limited to a single operating system. In such a circumstance, applications not designed for that operating system cannot be consolidated on the server cluster without modification. In addition, applications running on such and infrastructure typically do not run in isolation, i.e. one application can adversely impact another application running on the infrastructure.